//给你一个字符串 date ，按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 
//
// 
//
// 示例 1： 
//
// 
//输入：date = "2019-01-09"
//输出：9
//解释：给定日期是2019年的第九天。 
//
// 示例 2： 
//
// 
//输入：date = "2019-02-10"
//输出：41
// 
//
// 
//
// 提示： 
//
// 
// date.length == 10 
// date[4] == date[7] == '-'，其他的 date[i] 都是数字 
// date 表示的范围从 1900 年 1 月 1 日至 2019 年 12 月 31 日 
// 
// Related Topics 数学 字符串 
// 👍 96 👎 0

package leetcode.editor.cn;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

class P1154_DayOfTheYear {
	public static void main(String[] args) {
    	Solution solution = new P1154_DayOfTheYear().new Solution();
	}
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int dayOfYear(String date) {
		/* 用Calendar处理日期方法
		 * 		Calendar calendar = Calendar.getInstance();
		 * 		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		 * 		try {
		 * 			calendar.setTime(simpleDateFormat.parse(date));
		 *                } catch (ParseException e) {
		 * 			e.printStackTrace();
		 *        }
		 * 		return calendar.get(Calendar.DAY_OF_YEAR);
		 */
		String[] split = date.split("-");
		int[] month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
		if (Integer.valueOf(split[0]) % 400 == 0 || (Integer.valueOf(split[0])%4 ==0 && Integer.valueOf(split[0])%100 != 0)){
			month[1] = 29;
		}

		int res = 0;
		for (int i = 0; i < Integer.valueOf(split[1])-1; i++) {
			res += month[i];
		}
		return res+Integer.valueOf(split[2]);
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}